A typical storage system can include hundreds or even thousands of storage subsystem components, such as different generic storage components, different original equipment manufacturer (OEM) vendor components and so on. Typically, such storage subsystem components include firmware that contains instructions for execution by a microcontroller. When a firmware update becomes available to one of the storage subsystem components, it can be logically difficult to keep track of which of the storage subsystem components need to be updated, have already been updated, are compatible with the firmware update, and so on. The possibility that commissioned storage subsystem components will have outdated or mismatched firmware may be high. Further, firmware updates may not reach every storage subsystem component in the storage system.
Existing techniques for providing firmware updates include small computer system interface (SCSI), serial port propagation and the like. Further, existing techniques do not provide any structured process for notifying the users of any new releases, patches and fixes available for storage subsystem components. Furthermore, such firmware updates are typically, communicated via the OEM partners and service channels. Although these approaches are in wide use, there are significant disadvantages posed by such arrangements. For example, where personal computer (PC) platforms are utilized, programs have to be written that involve time consuming coding, necessary to make compatible communication between the interconnected storage subsystem components. Under present scenario, generally, maintaining firmware updates in storage systems including hundreds of storage subsystem components is very labor intensive and prone to mishandling and human error, which can result in sub-optimal performance and utilization of storage systems.